// pages/goos_detail/index.js

//点击轮播图 预览大图
      //1. 给轮播图绑定点击事件
      //调用api previewImage



//点击加入购物车
    //1 先绑定点击事件
    //获取缓存中的购物车数据 数组格式
    //3 先判断 当前的 商品是否已经在购物车了
    //4 已经存在 修改商品数据 执行购物车数量++ 重新把购物车数组 填充回缓存中
    //5 不存在于购物车数组中 直接给购物车数组添加一个新元素 带上 购买数量属性 num 重新把购物车数组 填充回缓存中
    //6 弹出提示
    import {request} from "../../request/index"
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
          goodsObj:{}//是个对象
      },
    
      //商品对象（全局）
     GoodsInfo:{},
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) { //options是由wxml的指令获取的元数据goods_id
          const {goods_id}=options;
          console.log(goods_id);
             this.getGoodsDetail(goods_id);
      },
    
      //获取商品详情数据
      async getGoodsDetail(goods_id){
        const res=await request({url:"https://api-hmugo-web.itheima.net/api/public/v1/goods/detail",data:{goods_id}});
       this.GoodsInfo=res.data.message;
        console.log(res);
        this.setData({
          goodsObj:{
            goods_name:res.data.message.goods_name,
            goods_price:res.data.message.goods_price,
            //iphone部分手机不支持webp格式图片
            //最好找后台让他进行修改
            //临时自己确保后台存在   .webp=>.jpg
            goods_introduce:res.data.message.goods_introduce.replace(/\.webp/g,'.jpg'),
            pics:res.data.message.pics
          }
        })
      } ,
    
    
      //点击轮播图 放大预览
      handlePrevewImage(e){ //e叫做事件元对象，接受来自wxml指令的数据
        //1 先构造要预览的图片数组
           const urls=this.GoodsInfo.pics.map(v=>v.pics_mid);//map的作用是构造新数组
         //2  接受传递过来的图片url
         const current=e.currentTarget.dataset.url;
           wx.previewImage({
             current,
             urls
           })
      },
    
    
    
      //点击加入购物车
      handleCartAdd(){
         //1 获取缓存中的购物车数组
         let cart=wx.getStorageSync('cart')||[];//空字符串转化为数组
         //2 判断商品对象是否在购物车数组中
         let index=cart.findIndex(v=>v.goods_id===this.GoodsInfo.goods_id);
          if(index===-1)
            {
              //不存在 第一次添加
              this.GoodsInfo.num=1;
              this.GoodsInfo.checked=true;
              cart.push(this.GoodsInfo);
            }else{
              //已经存在购物车数据 num++     
               cart[index].num++;
            }
            //5 把购物车重新添加回缓存中
            wx.setStorageSync("cart", cart);
            //6 弹窗提示
            wx.showToast({
              title: '加入成功',
              icon: 'success',
              mask:true
            })
      }
    })